/**
 * 
 */

function refreshInventario(){
	var count=1;
	
	if (gioco.statue>0){
		for (i=0;i<gioco.statue;i++){
		switch (i){
			case 0: 
			document.getElementById("img"+count).src="./images/icons/statua1.png";
			document.getElementById("img"+count).title="Una statua del Cristo";
			count++;
	        break;
			
			case 1: 
			document.getElementById("img"+count).src="./images/icons/statua2.png";
			document.getElementById("img"+count).title="Una statua femminile";
			count++;
			break;
			
			case 2: 
			document.getElementById("img"+count).src="./images/icons/statua3.png";
			document.getElementById("img"+count).title="La statua di un cavallo...pretenziosa ma efficace!";
			count++;
			break;
			
		
			default:
			document.getElementById("img"+count).src="./images/icons/statua.png";
			document.getElementById("img"+count).title="Un angelo";
			count++;
			break;
		 }	
		}
	}
	if (gioco.dipinti>0){
		for (i=0;i<gioco.dipinti;i++){

		
			switch (i){
			case 0: 
			document.getElementById("img"+count).src="./images/icons/dipinti1.png";
			document.getElementById("img"+count).title="Un quadro d'autore";
			count++;
	        break;
			
			case 1: 
			document.getElementById("img"+count).src="./images/icons/dipinti2.png";
			document.getElementById("img"+count).title="Un secondo quadro d'autore!";
			count++;
			break;
			
			default:
			document.getElementById("img"+count).src="./images/icons/dipinti.png";
			document.getElementById("img"+count).title="Quadri a profusione!!!";
			count++;
			break;
		 }	
			
		}
	}
	if (gioco.cibo>0){
			document.getElementById("img"+count).src="./images/icons/cibo.png";
			document.getElementById("img"+count).title="Cibo";
			count++;
	}	
	if (gioco.pesci>0){
			document.getElementById("img"+count).src="./images/icons/pesci.png";
			document.getElementById("img"+count).title="Pesce";
			count++;
	}	
	if (gioco.animali>0){
		for (i=0;i<gioco.animali;i++){
		switch (i){
			case 0: 
			document.getElementById("img"+count).src="./images/icons/animali3.png";
			document.getElementById("img"+count).title="Una pecora...soffice, ma procurati un deospray!";
			count++;
	        break;
			
			case 1: 
			document.getElementById("img"+count).src="./images/icons/animali1.png";
			document.getElementById("img"+count).title="Un coniglio! Che tenero";
			count++;
			break;
			
			case 2: 
			document.getElementById("img"+count).src="./images/icons/animali2.png";
			document.getElementById("img"+count).title="Che Pasqua sarebbe senza una colomba??";
			count++;
			break;
			
			case 3: 
			document.getElementById("img"+count).src="./images/icons/animali4.png";
			document.getElementById("img"+count).title="Un asino...non staremo esagerando??";
			count++;
			break;
			
			default:
			document.getElementById("img"+count).src="./images/icons/animali.png";
			document.getElementById("img"+count).title="Quanti animali...dove li metteremo?!?";
			count++;
			break;
		 }
	  }	
	}	
	if (gioco.piante>0){
			document.getElementById("img"+count).src="./images/icons/piante.png";
			document.getElementById("img"+count).title="Pianta";
			count++;
	}	
	/*
	if (gioco.forza>0){
		for (i=0;i<gioco.forza;i++){
			document.getElementById("img"+count).src="./images/icons/forza.jpg";
			count++;
		}
	}
	if (gioco.forza==0){
			document.getElementById("img"+count).src="./images/icons/weakness.jpg";
			count++;
	}
	*/
	if (gioco.ingegneria>0){
		for (i=0;i<gioco.ingegneria;i++){
			switch (i){
			case 0: 
			document.getElementById("img"+count).src="./images/icons/ingegneria2.png";
			document.getElementById("img"+count).title="Ingranaggi per un mistero basculante!";
			count++;
	        break;
			
			case 1: 
			document.getElementById("img"+count).src="./images/icons/ingegneria3.png";
			document.getElementById("img"+count).title="Semplici luci o colpi di genio???";
			count++;
			break;
			
			case 2:
			document.getElementById("img"+count).src="./images/icons/ingegneria1.png";
			document.getElementById("img"+count).title="Un progetto chiaro per un mistero ben strutturato";
			count++;
			break;
			
			default:
			document.getElementById("img"+count).src="./images/icons/ingegneria.png";
			document.getElementById("img"+count).title="Ingegneria, la migliore delle discipline!";
			count++;
			break;
		 }
		}
	}
	if (gioco.teologia>0){
			document.getElementById("img"+count).src="./images/icons/teologia.png";
			document.getElementById("img"+count).title="Una Bibbia può sempre servire...";
			count++;
	}
	if (gioco.tendone>0){
			document.getElementById("img"+count).src="./images/icons/tendone.png";
			document.getElementById("img"+count).title="Tendone";
			count++;
	}
	if (gioco.portone>0){
			document.getElementById("img"+count).src="./images/icons/portone.png";
			document.getElementById("img"+count).title="Portone";
			count++;
	}
	if (gioco.permessoVivara>0){
			document.getElementById("img"+count).src="./images/icons/vivara.png";
			document.getElementById("img"+count).title="Permesso per accesso a Vivara.Puoi usarlo solo una volta!";
			count++;
	}
	}

function refreshOrario(){
//	document.getElementById("ora1").src="./images/icons/"+Math.floor(gioco.oraGiorno/10)+".jpg";
//	document.getElementById("ora2").src="./images/icons/"+gioco.oraGiorno%10+".jpg";
//	document.getElementById("minuto1").src="./images/icons/0mini.jpg"; 
//	document.getElementById("minuto2").src="./images/icons/0mini.jpg";
	
	document.getElementById("orologio").src="./images/icons/ore"+gioco.oraGiorno+".png";
	
	if (gioco.rimandato)
		document.getElementById("calendario").src="./images/icons/meno0.png";
	else if (Math.ceil(gioco.oreRimaste/24)>0)
		document.getElementById("calendario").src="./images/icons/meno"+Math.ceil(gioco.oreRimaste/24)+".png";
	return;
}

/*
function refreshEnergia(){

	if (gioco.energia == 0)
		document.getElementById("barraEnergia").src="./images/barra0.png";
	else if (gioco.energia > 0 && gioco.energia <=20)
	document.getElementById("barraEnergia").src="./images/barra1.png";
		else if (gioco.energia > 15 && gioco.energia <=40)
	document.getElementById("barraEnergia").src="./images/barra2.png";
		else if (gioco.energia > 30 && gioco.energia <=60)
	document.getElementById("barraEnergia").src="./images/barra3.png";
		else if (gioco.energia > 45 && gioco.energia <=80)
	document.getElementById("barraEnergia").src="./images/barra4.png";
		else if (gioco.energia > 60 && gioco.energia <=99)
	document.getElementById("barraEnergia").src="./images/barra5.png";
				else if (gioco.energia ==100)
	document.getElementById("barraEnergia").src="./images/barra6.png";
	return;
}
*/

function refreshIndicatori(){
	document.getElementById("nSoldi").innerHTML=""+gioco.soldi;
	document.getElementById("nAmici").innerHTML=""+gioco.amici;
    document.getElementById("nForza").innerHTML=""+gioco.forza;
    document.getElementById("nMateriale").innerHTML=""+gioco.materiale;
    document.getElementById("nEnergia").innerHTML=""+gioco.energia+"%";
    
    //FORZO IL REFRESH
    barre.style.display = 'list-item'; 
    setTimeout(function () { barre.style.display = 'block'; }, 0);
    
    indGrandezza.style.display = 'list-item'; 
    setTimeout(function () { indGrandezza.style.display = 'block'; }, 0);
    
    //divTabella.style.display = 'list-item'; 
    //setTimeout(function () { divTabella.style.display = 'block'; }, 0);
    
    
    //barre.style.display='list-item';
	//barre.style.display='block';
	/*
	for (i=1;i<=Math.floor(gioco.soldi/10);i++){
		if (i<20)
			document.getElementById("soldi"+i).src="./images/yellow3232.jpg";
	}
	for (i=Math.floor(gioco.soldi/10)+1;i<=20;i++){
		document.getElementById("soldi"+i).src="./images/blank3232.jpg";
	}
	if (gioco.soldi>=200)
		document.getElementById("soldi20").src="./images/yellowplus3232.jpg";
		*/
/*
(document.getElementById(childDiv)) {     
          var child = document.getElementById(childDiv);
          var parent = document.getElementById(parentDiv);
          parent.removeChild(child);
*/
	var node = document.getElementById("indGrandezza");
//	var cnt = node.childNodes.length;
//	alert(cnt);
	while (node.childNodes.length>3) {
		var child = node.lastChild;
		if (child.id != "iconaGrandezza")
    		node.removeChild(child);
}	

	for (i=0;i<gioco.grandezza;i++){
	var oImg=document.createElement("img");
	if(gioco.grandezza > 150)
	oImg.setAttribute('src', './images/icons/grandezza25.png');
	else
	oImg.setAttribute('src', './images/icons/grandezza'+ Math.floor(i/6) +'.png');
	//oImg.setAttribute('alt', 'na');
	//oImg.setAttribute('height', '1px');
	//oImg.setAttribute('width', '1px');
	oImg.width= '2';
	oImg.height= '20';
	//oImg.setAttribute('id','gr'+ i);
	document.getElementById("indGrandezza").appendChild(oImg);
	}
	
}

function changeUser(src)
{
	$( ".utente" ).attr('src', 'src);
}

//INTERFACCIA MOCK
function change(elemento,valore){    
	if (elemento.value!=valore) {		 		
		if (elemento.value>valore)
			elemento.style.background="#FF9933";
		else
			elemento.style.background="#00FFFF";
		elemento.value=valore;
		document.forms[0].Log.value=document.forms[0].Log.value+" "+elemento.id+":"+elemento.value+" ";
		}	
	else
		elemento.style.background="";
}
//FINE INTERFACCIA MOCK

//INTERFACCIA MOCK
function log(messaggio){
	document.forms[0].Log.value=document.forms[0].Log.value+" "+messaggio;
}
//FINE INTERFACCIA MOCK


         
function disabled(p){
var code="";
    if ((p=="palestra")&& (!(gioco.soldi>=K.costoPalestra && gioco.energia>=K.faticaPalestra && inFasciaOraria(K.oraAperturaPalestra,K.oraChiusuraPalestra,K.tempoPalestra,K.TUTTI)))){
		if (!(gioco.soldi>=K.costoPalestra)) code+="soldi ";
		if (!(gioco.energia>=K.faticaPalestra)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraAperturaPalestra,K.oraChiusuraPalestra,K.tempoPalestra,K.TUTTI))) code+="tardi ";
	return (p+", "+code);}
    if ((p=="comune")&&(!(gioco.forza>0 && gioco.energia>=K.faticaComune && inFasciaOraria(K.oraAperturaComune,K.oraChiusuraComune,K.tempoComune,K.FERIALI) && ((gioco.tendone+gioco.portone==0)||(gioco.permessoVivara==0))))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaComune)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraAperturaComune,K.oraChiusuraComune,K.tempoComune,K.FERIALI))) code+="tardi ";
		if (gioco.tendone==1) code+="hoTend ";
		if (gioco.portone==1) code+="hoPort ";
		if (gioco.permessoVivara==1) code+="hoPerm ";
	return p+", "+code; }
    if ((p=="giornoAlPortone")&&(!(gioco.forza>0 && gioco.portone==1 && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.TUTTI) && gioco.energia>=K.faticaOrariaPortone && gioco.materiale>0))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.portone==1)) code+="portone ";
		if (!(gioco.tendone==0)) code+="hoTend ";
		if (!(gioco.energia>=K.faticaOrariaPortone)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.TUTTI))) code+="tardi ";
		if (!(gioco.materiale>0)) code+="materiale ";
	return p+", "+code;}
    if ((p=="giornoAlTendone")&&(!(gioco.forza>0 && gioco.tendone==1 && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.TUTTI) && gioco.energia>=K.faticaOrariaTendone && gioco.materiale>0))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.tendone==1)) code+="tendone ";
		if (!(gioco.energia>=K.faticaOrariaTendone)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.TUTTI))) code+="tardi ";
		if (!(gioco.materiale>0)) code+="materiale ";
	return p+", "+code;}
    if ((p=="cercaPortone")&&(!(gioco.forza>0 && gioco.portone==0 && gioco.tendone==0 && gioco.energia>=K.faticaRicercaPortone && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoRicercaPortone,K.TUTTI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.portone==0)) code+="hoPort ";
		if (!(gioco.tendone==0)) code+="hoTend ";
		if (!(gioco.energia>=K.faticaRicercaPortone)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoRicercaPortone,K.TUTTI))) code+="tardi ";
	return p+", "+code;}
    if ((p.search("nottata")!=-1)&&(!(gioco.forza>0 && inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,1,K.TUTTI) && gioco.energia>=K.faticaOrariaNottata && ((gioco.portone==1 && p.search("portone")!=-1)|| (gioco.tendone==1 && p.search("tendone")!=-1))    && gioco.materiale>0))){
		if (!(gioco.forza>0)) code+="forza ";
		//if (!(gioco.portone+gioco.tendone>0)) code+="hoPorTend ";
		if (gioco.portone==0 && p.search("portone")!=-1) code="portone ";
		if (gioco.tendone==0 && p.search("tendone")!=-1) code="tendone ";
		if (!(gioco.energia>=K.faticaOrariaNottata)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,1,K.TUTTI))) code+="tardi ";
		if (!(gioco.materiale>0)) code+="materiale ";
	return p+", "+code;}
    if ((p=="ferramenta")&&(!(gioco.forza>0 && gioco.soldi>=0 && gioco.energia>=K.faticaFerramenta && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoFerramenta,K.FERIALI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.soldi>=0)) code+="soldi ";
		if (!(gioco.energia>=K.faticaFerramenta)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoFerramenta,K.FERIALI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="lavoro")&&(!(gioco.forza>0 && gioco.energia>=K.faticaOrariaLavoro && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.FERIALI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaOrariaLavoro)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.FERIALI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="orto")&&(!(gioco.forza>0 && inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,K.tempoOrto,K.TUTTI) && gioco.energia>=K.faticaOrto ))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaOrto)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,K.tempoOrto,K.TUTTI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="pittore")&&(!(gioco.forza>0 && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPittore,K.TUTTI) && gioco.energia>=K.faticaPittore && gioco.soldi>=K.costoPittore))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.soldi>=K.costoPittore)) code+="soldi ";
		if (!(gioco.energia>=K.faticaPittore)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPittore,K.TUTTI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="scultore")&&(!(gioco.forza>0 && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoScultore,K.TUTTI) && gioco.energia>=K.faticaScultore && gioco.soldi>=K.costoScultore))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.soldi>=K.costoScultore)) code+="soldi ";
		if (!(gioco.energia>=K.faticaScultore)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoScultore,K.TUTTI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="bar")&&(!(gioco.forza>0 && inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,K.tempoBar,K.TUTTI) && gioco.energia>=K.faticaBar ))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaBar)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,K.tempoBar,K.TUTTI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="vivara")&&(!(gioco.forza>0 && gioco.permessoVivara==1 && inFasciaOraria(K.oraInizioGiornata,K.oraBuioVivara,K.tempoVivara,K.TUTTI) && gioco.energia>=K.faticaVivara ))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.permessoVivara==1)) code+="vivara ";
		if (!(gioco.energia>=K.faticaVivara)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraBuioVivara,K.tempoVivara,K.TUTTI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="professore")&&(!(gioco.forza>0 && gioco.energia>=K.faticaProfessore  && gioco.soldi>=K.costoProfessore && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoProfessore,K.TUTTI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.soldi>=K.costoProfessore)) code+="soldi ";
		if (!(gioco.energia>=K.faticaProfessore)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoProfessore,K.TUTTI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="mostra")&&(!(gioco.forza>0 && gioco.energia>=K.faticaMostra && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoMostra,K.TUTTI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaMostra)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoMostra,K.TUTTI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="abbazia")&&(!(gioco.forza>0 && gioco.energia>=K.faticaAbbazia && gioco.soldi>=K.costoAbbazia && inFasciaOraria(K.oraInizioGiornata,K.oraChiusuraAbbazia,K.tempoAbbazia,K.TUTTI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaAbbazia)) code+="stanchezza ";
		if (!(gioco.soldi>=K.costoAbbazia)) code+="soldi ";		
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraChiusuraAbbazia,K.tempoAbbazia,K.TUTTI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="porto")&&(!(gioco.forza>0 && gioco.soldi>=K.costoPesce && gioco.energia>=K.faticaPesce && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.ULTIMI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaPesce)) code+="stanchezza ";
		if (!(gioco.soldi>=K.costoPesce)) code+="soldi ";		
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.TUTTI))) code+="tardi ";
		else if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.ULTIMI))) code+="ultimi ";
	return p+", "+code;}
    if ((p=="pesca")&&(!(gioco.forza>0 && gioco.energia>=K.faticaPesca && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.ULTIMI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaPesca)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.TUTTI))) code+="tardi ";
			else if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.ULTIMI))) code+="ultimi ";
	return p+", "+code;}
    if ((p=="fioraio")&&(!(gioco.forza>0 && gioco.soldi>=K.costoFioraio && gioco.energia>=K.faticaFioraio  && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoFioraio,K.FERIALI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaFioraio)) code+="stanchezza ";
		if (!(gioco.soldi>=K.costoFioraio)) code+="soldi ";		
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoFioraio,K.FERIALI))) code+="tardi ";
	return p+", "+code;}
    if ((p=="alimentari")&&(!(gioco.forza>0 && gioco.soldi>=K.costoAlimentari && gioco.energia>=K.faticaAlimentari  && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.ULTIMI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaAlimentari)) code+="stanchezza ";
		if (!(gioco.soldi>=K.costoAlimentari)) code+="soldi ";		
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.TUTTI))) code+="tardi ";
			else if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.ULTIMI))) code+="ultimi ";
	return p+", "+code;}
    if ((p=="congrega")&&(!(gioco.forza>0 && gioco.energia>=K.faticaCongrega && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoCongrega,K.ULTIMI)))){
		if (!(gioco.forza>0)) code+="forza ";
		if (!(gioco.energia>=K.faticaCongrega)) code+="stanchezza ";
		if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoCongrega,K.TUTTI))) code+="tardi ";
			else if (!(inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoCongrega,K.ULTIMI))) code+="ultimi ";
	return p+", "+code;}
    if ((p=="riposo")){
	return "";}
    return "";
}

function refresh(messaggio){
	//if (self.location.href.slice(0,4)=="file")
		interfacciaTestuale.alertMessaggio("",gioco.esitoAzione);
	
	//INTERFACCIA MOCK
	//refresh di tutti i campi a video
	//da modificare con opportune funzioni grafiche
	change(document.forms[0].GiornoSettimana,gioco.giornoSettimanaString);
	change(document.forms[0].OraGiorno,gioco.oraGiorno);
	change(document.forms[0].OreRimaste,gioco.oreRimaste);
	change(document.forms[0].OraGiorno,gioco.oraGiorno);
	change(document.forms[0].Forza,gioco.forza);
	change(document.forms[0].Energia,gioco.energia);//document.forms[0].Energia.value=gioco.energia;
	change(document.forms[0].Soldi,gioco.soldi);
	change(document.forms[0].Amici,gioco.amici);
	change(document.forms[0].Grandezza,gioco.grandezza);
	change(document.forms[0].Statue,gioco.statue);
	change(document.forms[0].Dipinti,gioco.dipinti);
	change(document.forms[0].Ingegneria,gioco.ingegneria);
	change(document.forms[0].Teologia,gioco.teologia);
	change(document.forms[0].Numero,gioco.numero);
	change(document.forms[0].Tendone,gioco.tendone);
	change(document.forms[0].PermessoVivara,gioco.permessoVivara);
	change(document.forms[0].Cibo,gioco.cibo);
	change(document.forms[0].Pesci,gioco.pesci);
	change(document.forms[0].Animali,gioco.animali);
	change(document.forms[0].Piante,gioco.piante);
	change(document.forms[0].Materiale,gioco.materiale);
	change(document.forms[0].Portone,gioco.portone);
	change(document.forms[0].Numero,gioco.numero);
	change(document.forms[0].Leggerezza,gioco.leggerezza);
	change(document.forms[0].Bellezza,gioco.bellezza);
	change(document.forms[0].Robustezza,gioco.robustezza);
	change(document.forms[0].Ricchezza,gioco.ricchezza);

	document.forms[0].Messaggio.value=messaggio;
	document.forms[0].Imprevisto.value=gioco.mi;
	
	document.forms[0].Palestra.disabled=disabled("palestra");
    document.forms[0].Comune.disabled=disabled("comune");
    document.forms[0].GiornoAlMistero.disabled=disabled("giornoAlMistero");
    document.forms[0].CercaPortone.disabled=disabled("cercaPortone");
    document.forms[0].Nottata.disabled=disabled("nottata");
    document.forms[0].Ferramenta.disabled=disabled("ferramenta");
    document.forms[0].Lavoro.disabled=disabled("lavoro");
    document.forms[0].Porto.disabled=disabled("porto");
    document.forms[0].Pesca.disabled=disabled("pesca");
    document.forms[0].Pittore.disabled=disabled("pittore");
    document.forms[0].Scultore.disabled=disabled("scultore");
    document.forms[0].Bar.disabled=disabled("bar");
    document.forms[0].Vivara.disabled=disabled("vivara");
    document.forms[0].CasaDelProfessore.disabled=disabled("professore");
    document.forms[0].MostraDeiMisteri.disabled=disabled("mostra");
    document.forms[0].Abbazia.disabled=disabled("abbazia");
    document.forms[0].Orto.disabled=disabled("orto");
    document.forms[0].Fioraio.disabled=disabled("fioraio");
    document.forms[0].Alimentari.disabled=disabled("alimentari");
    document.forms[0].Congrega.disabled=disabled("congrega");
    document.forms[0].Riposo.disabled=disabled("riposo");
	//FINE INTERFACCIA MOCK
	
	//refresh dell'inventario
	refreshInventario();
	refreshOrario();
	refreshIndicatori();
//	refreshEnergia();
	//se il tempo � finito valuta l'obiettivo raggiunto'
	var giudizio;
	if (gioco.oreRimaste<1){
		giudizio=valutaObiettivo();
		if (self.location.href.slice(0,4)=="file")
			alert("Livello: "+giudizio.livello+" Punteggio: "+giudizio.punteggio+" Mistero: "+giudizio.nomeMistero);
		}
}

function inviaRisultato(s){
	var get = parseGetVars();
    var nome = get['nome'];
	var http = new XMLHttpRequest();
	var url = "result.php";
	var params = s+"&nome="+nome;//"lorem=ipsum&name=binny";
	http.open("POST", url, false);

	//Send the proper header information along with the request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.send(params);

	if (http.status === 200) {		
		console.log("arrivato");  		
	}
	
	return;
}

function valutaObiettivo(){
	//sequenza di if che certifica il finale raggiunto
	//calcolo livello piccolo-medio-grande-enorme
	for (i=0;i<4;i++) 
		if (gioco.grandezza>K.grandezzaLivello[i])
			giudizio.livello=i;
	if (giudizio.livello==-1){
		grandezza=-1; //troppo piccolo
		giudizio.nomeMistero="Mistero Piccolo";
		giudizio.punteggio=0;
	}else if (gioco.teologia==0){
		giudizio.teologia=-1;
		giudizio.nomeMistero="Mistero Blasfemo";
		giudizio.punteggio=0;		
	}else if (gioco.numero==0){
		giudizio.nomeMistero="Mistero non iscritto";
		giudizio.punteggio=0;
	}else{		
	giudizio.punteggio=K.punteggioLivello[giudizio.livello]; //calcolo punteggio base
	giudizio.grandezza=(gioco.grandezza-K.grandezzaLivello[giudizio.livello]); //calcolo bonus extra grandezza
	giudizio.punteggio+=giudizio.grandezza;
	if 	(gioco.amici<K.amiciLivello[giudizio.livello])
		leggerezza=-1;
	else{
		giudizio.leggerezza=(gioco.amici-K.amiciLivello[giudizio.livello]);
		if (giudizio.leggerezza>6) //cimatura
			giudizio.leggerezza=6;
		giudizio.leggerezza=(K.bonusAmici*giudizio.leggerezza/6); //calcolo bonus extra amici
		giudizio.punteggio+=giudizio.leggerezza;
	}
	if 	(gioco.ingegneria<K.robustezzaLivello[giudizio.livello])
		robustezza=-1;
	else{
		giudizio.robustezza=(gioco.ingegneria-K.robustezzaLivello[giudizio.livello]);
		if (giudizio.leggerezza>2) //cimatura
			giudizio.leggerezza=2;
		giudizio.robustezza=K.bonusRobustezza*(gioco.ingegneria-K.robustezzaLivello[giudizio.livello])/2; //calcolo bonus extra robustezza
		giudizio.punteggio+=giudizio.robustezza; //calcolo bonus extra amici
	}
		giudizio.bellezza=(gioco.statue+gioco.dipinti-K.bellezzaLivello[giudizio.livello]);
		if (giudizio.bellezza<0) //cimatura in basso
			giudizio.bellezza=0;
		giudizio.bellezza=K.bonusBellezza*(gioco.statue+gioco.dipinti-K.bellezzaLivello[giudizio.livello]); //calcolo bonus extra bellezza
		giudizio.punteggio+=giudizio.bellezza; //calcolo bonus extra amici
	//combo
	if (gioco.cibo>0 && gioco.animali==0 && gioco.pesci>0){
		giudizio.punteggio+=K.bonusCena;
		giudizio.nomeMistero="Ultima Cena";
	} else		
	if (gioco.animali==0 && gioco.piante==0 && gioco.cibo>0){
		giudizio.punteggio+=K.bonusCenaIncrespata;
		giudizio.nomeMistero="Cena Increspata";
	} else
	if (gioco.cibo==0 && gioco.animali>1){
		giudizio.punteggio+=K.bonusArca;
		giudizio.nomeMistero="Arca di Noe";
	} else
	if (gioco.cibo==0 && gioco.animali==0 && gioco.piante==0 && gioco.pesci>0 && gioco.statue!=1){
		giudizio.punteggio+=K.bonusPesca;
		giudizio.nomeMistero="Pesca Miracolosa";
	} else	
	if (gioco.cibo==0 && gioco.animali==0 && gioco.piante==0 && gioco.pesci>0 && gioco.statue==1){
		giudizio.punteggio+=K.bonusGiona;
		giudizio.nomeMistero="Giona nella Balena";
	} else	
	if (gioco.cibo==0 && gioco.animali==0 && gioco.piante>0 && gioco.pesci==0 && gioco.statue==1){
		giudizio.punteggio+=K.bonusGiuda;
		giudizio.nomeMistero="Giuda";
	} else	
	if (gioco.cibo==0 && gioco.animali==0 && gioco.piante>0 && gioco.pesci==0 && gioco.statue>1){
		giudizio.punteggio+=K.bonusSamaritana;
		giudizio.nomeMistero="La Samaritana al Pozzo";
	} else	
	if (gioco.cibo==0 && gioco.animali>0 && gioco.piante>0 && gioco.pesci==0 && gioco.statue>=1){
		giudizio.punteggio+=K.bonusBuonPastore;
		giudizio.nomeMistero="Buon Pastore";
	} else	
	if (gioco.cibo>0 && gioco.animali>0 && gioco.piante>0 && gioco.pesci>0){
		giudizio.punteggio+=K.bonusPacchiano;
		giudizio.nomeMistero="Pacchiano";
	} else	
	if (gioco.cibo==0 && gioco.animali==0 && gioco.piante==0 && gioco.pesci==0){
		giudizio.punteggio+=K.bonusAstratto;
		giudizio.nomeMistero="Mistero Astratto";
	} else	{
		giudizio.nomeMistero="Mistero Moderno";
	}	
	}
	giudizio.punteggio=Math.floor(giudizio.punteggio);

	var s="";
	s+="grandezza="+giudizio.grandezza+"&";
	s+="livello="+giudizio.livello+"&";
	s+="soggetto="+giudizio.nomeMistero+"&";
	s+="punteggio="+giudizio.punteggio+"&";
	s+="amici="+gioco.amici+"&";
	s+="robustezza="+giudizio.robustezza+"&";
	s+="bellezza="+giudizio.bellezza+"&";
	s+="leggerezza="+giudizio.leggerezza+"&";
	s+="teologia="+giudizio.teologia+"&";
	s+="data="+getData();
	inviaRisultato(s);
	var get = parseGetVars();
    var nome = get['nome'];
	if (self.location.href.slice(0,4)=="file")//modalita' locale con debug
		window.open("result.html?"+s+"&nome="+nome,"_blank");	
	else if (self.location.href.slice(0,4)=="http") //modalita' online
		location.href="result.html?"+s+"&nome="+nome;
	return giudizio;
}

function getData(){
	data = new Date();
	ora =data.getHours();
	minuti=data.getMinutes();
	secondi=data.getSeconds();
	giorno = data.getDay();
	mese = data.getMonth()+1;
	date= data.getDate();
	year= data.getYear();
	if(minuti< 10)minuti="0"+minuti;
	if(secondi< 10)secondi="0"+secondi;
	if(year<1900)year=year+1900;
	if(ora<10)ora="0"+ora;
	return date+"-"+mese+"-"+year;
}

function aggiornaQualita(){
    if (gioco.grandezza>0){
        gioco.leggerezza=gioco.amici/gioco.grandezza;
        gioco.bellezza=(gioco.dipinti+gioco.statue)/gioco.grandezza;
        gioco.robustezza=gioco.ingegneria/gioco.grandezza;
        gioco.ricchezza=(gioco.dipinti+gioco.statue+gioco.animali+gioco.piante+gioco.cibo+gioco.pesci)/gioco.grandezza;
    }

}

function notte(){
	return (inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,1,K.TUTTI));
}

function imprevisti(tempo){
	gioco.mi="";
		if(rng(K.periodoImprevisti)<=tempo){ //la probabilita' aumenta col numero di ore e vale tempo/K.periodoImprevisti		
			var x=rng(14);
			switch (x){
			case 1: 
		        if (gioco.amici>0){
		    		gioco.mi="Imbarco improvviso: dovrai fare a meno di un amico";		  log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
		        	gioco.amici--;
		        	if (gioco.soldi>=K.quotaMistero)
		        		gioco.soldi-=K.quotaMistero;
		        	else 
		        		gioco.soldi=0;
		        	}
		        break;
			case 2: 
	    	gioco.mi="Multa per eccesso di velocita': devi pagare subito "+K.importoMulta+" monete";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
	    	audio("multa");
		        if (gioco.soldi>K.importoMulta){
		        		gioco.soldi-=K.importoMulta;
		        	}
		        	else 
		        		gioco.soldi=0;
				break;
			case 3: 
		    	
		        if (gioco.oreRimaste>120){
		        	//alert("influenza");
					gioco.mi="Influenza: devi fermarti " +K.giorniFebbre+" giorni!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";						
		        	for (i=0;i<K.giorniFebbre;i++)
		        		aggiornaTempo(24);
		        }        	
		        	else{
						if (gioco.energia>K.energiaFebbre)
							gioco.energia-=K.energiaFebbre;
						else
							gioco.energia=0;
					gioco.mi="Influenza: ti senti molto debilitato ma provi a continuare a lavorare!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";						
					}
				break;
			case 4: 
		    	gioco.mi="Ti hanno rubato la meta' dei materiali che non avevi ancora utilizzato!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
		        gioco.materiale=Math.floor(gioco.materiale/2);	        
		        break;
			case 5: 
		        if (gioco.grandezza>0){
			        if (gioco.grandezza>=K.dannoRottura)
			        		gioco.grandezza-=K.dannoRottura;
					else 
			        	gioco.grandezza=0;
			        gioco.mi="Che sfortuna: si è rotto un murale del Mistero!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
			        audio("rottura");
			       }		        
				break;
			case 6: 
		    	gioco.mi="E' sbarcato un tuo vecchio amico e ti aiutera' da subito col Mistero!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
	        	gioco.amici++;
	       		gioco.soldi+=K.quotaMistero;
	       		audio("scalodiprocida");
		        break;
			case 7: 
		    	gioco.mi="Hai ricevuto un regalo da una vecchia zia: hai "+K.regalo+" monete in piu' da spendere!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
	       		gioco.soldi+=K.regalo;
	       		audio("monete");
				break;
			case 8: 
		    	gioco.mi="La tua ferramenta di fiducia vuole premiare i suoi clienti piu' assidui con un regalo: hai del materiale in piu' a disposizione!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
		        gioco.materiale+=K.promozioneMateriale;	        
		        break;
			case 9: 
	       		if (gioco.grandezza>0){
	       			gioco.grandezza+=K.idea;
			    	gioco.mi="Hai avuto un'idea geniale: il Mistero cresce e migliora!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
			    	audio("eureka");
	       		}
				break;
			case 10: 
		        if (gioco.oreRimaste<60 && !gioco.rimandato){
		    		gioco.mi="Pioggia prevista per il venerdi santo: la processione viene spostata al sabato. Hai un giorno in piu' per lavorare!";		 log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";       	
		        	gioco.oreRimaste+=24;				
		        	gioco.rimandato=true;
		        }
		        break;
		    case 11:
                if (gioco.oreRimaste>24 && gioco.energia>=K.tempoLavoroImprovviso*K.faticaOrariaLavoro){
                    gioco.mi="Vieni chiamato per un lavoro improvviso: perderai un po' di tempo, ma il lavoro e' ben pagato!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
                    aggiornaTempo(K.tempoLavoroImprovviso);
                    gioco.soldi+=K.tempoLavoroImprovviso*K.pagaOrariaLavoro*2;
                    gioco.energia-=K.tempoLavoroImprovviso*K.faticaOrariaLavoro;
                    audio("monete");
                }
                break;		 
            case 12:
                if (gioco.oreRimaste>24 && gioco.soldi>=K.costoBraciata){
                    gioco.mi="E' stata organizzata una braciata sul Mistero: ti senti decisamente meglio, anche se hai perso un po' di tempo!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
                    aggiornaTempo(K.tempoBraciata);
                    gioco.energia+=K.tempoBraciata*K.recuperoOrarioEnergia*2;
                    if (gioco.energia>100)
                    	gioco.energia=100;
                   	if (gioco.energia>90 && gioco.forza==0){
			    		gioco.forza=1;	    				
						gioco.esitoAzione+="<p>E ora ti senti anche piu' forte!";
					}
                    gioco.soldi-=K.costoBraciata;                    
                }
                break;                          
            case 13:    
                if (gioco.amici>0 && gioco.grandezza>=K.dannoRottura){
                    gioco.mi="Rissa al Mistero! Un amico e' andato in escandescenze, ha danneggiato il Mistero e se ne è andato !";        log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
                    gioco.audio("rottura");        
                    gioco.amici--;
                    gioco.grandezza-=K.dannoRottura;         
                }
                break;
            case 14:
                gioco.mi="Gemellaggio tra Misteri: un amico ha rinunciato a completare da solo il suo Mistero e ha deciso di unirsi al tuo, portando anche del materiale!";log(gioco.mi);      	gioco.esitoAzione+="\n <b>"+gioco.mi+"</b>";
                gioco.amici++;
                gioco.soldi+=K.quotaMistero;
                gioco.materiale+=K.promozioneMateriale;
                break;            		
            }
        }
		else gioco.mi+="nessuno.";
		//document.forms[0].Imprevisto.value=gioco.mi;
		aggiornaQualita();
		return;
	
}
//var rng;

function parseGetVars()
{
  // creo una array
  var args = new Array();
  // individuo la query (cio� tutto quello che sta a destra del ?)
  // per farlo uso il metodo substring della propriet� search
  // dell'oggetto location
  var query = window.location.search.substring(1);
  // se c'� una querystring procedo alla sua analisi
  if (query)
  {
    // divido la querystring in blocchi sulla base del carattere &
    // (il carattere & � usato per concatenare i diversi parametri della URL)
    var strList = query.split('&');
    // faccio un ciclo per leggere i blocchi individuati nella querystring
    for(str in strList)
    {
      if (str!="remove"){
      // divido ogni blocco mediante il simbolo uguale
      // (uguale � usato per l'assegnazione del valore)
      var parts = strList[str].split('=');
      // inserisco nella array args l'accoppiata nome = valore di ciascun
      // parametro presente nella querystring
      args[unescape(parts[0])] = unescape(parts[1]);
      }
    }
  }
  return args;
}

function init(){
	//INTERFACCIA MOCK
	//assegnazione degli ascoltatori ai metodi di gioco
	//il metodo ha lo stesso nome del pulsante
	document.forms[0].Log.value="";
	document.forms[0].Palestra.onclick=gioco.palestra;
	document.forms[0].Comune.onclick=gioco.comune;
	document.forms[0].GiornoAlMistero.onclick=gioco.giornoAlMistero;
	document.forms[0].CercaPortone.onclick=gioco.cercaPortone;
	document.forms[0].Nottata.onclick=gioco.nottata;
	document.forms[0].Ferramenta.onclick=gioco.ferramenta;
	document.forms[0].Lavoro.onclick=gioco.lavoro;
	document.forms[0].Porto.onclick=gioco.porto;
	document.forms[0].Pesca.onclick=gioco.pesca;
	document.forms[0].Pittore.onclick=gioco.pittore;
	document.forms[0].Scultore.onclick=gioco.scultore;
	document.forms[0].Bar.onclick=gioco.bar;
	document.forms[0].Vivara.onclick=gioco.vivara;
	document.forms[0].CasaDelProfessore.onclick=gioco.casaDelProfessore;
	document.forms[0].MostraDeiMisteri.onclick=gioco.mostraDeiMisteri;
	document.forms[0].Abbazia.onclick=gioco.abbazia;
	document.forms[0].Orto.onclick=gioco.orto;
	document.forms[0].Fioraio.onclick=gioco.fioraio;
	document.forms[0].Alimentari.onclick=gioco.alimentari;
	document.forms[0].Congrega.onclick=gioco.congrega;
	document.forms[0].Riposo.onclick=gioco.riposo;
	//FINE INTERFACCIA MOCK
	
	document.getElementById("Riposa").onclick=gioco.riposo;
	
	//eventuali assegnazioni
	//var get = parseGetVars();
    //var tipoGioco = get['gioco'];
    //if (tipoGioco=="cena"){
    //    alert("Devi allestire una Ultima Cena classica, con 12 persone e curando i dettagli, ma hai solo una settimana di tempo!");
    //    gioco.oreRimaste=168;
    //    aggiornaTempo(0);
    //}else if (tipoGioco=="bambini"){
    //    alert("Devi allestire un Mistero per 8 bambini e hai solo una settimana di tempo, ma deve essere molto leggero!");
    //    gioco.oreRimaste=168;
    //    aggiornaTempo(0);
    //}	
	//else {     
	    //alert("Gioco classico");
       gioco.oreRimaste=K.oreTotali;    
       aggiornaTempo(0);
    //}   
	refresh(); //document.forms[0].Messaggio.value="Inizio";
	
}

function sgoccioliEnergia(){
	messaggio = "";
    if (gioco.energia<=5){
        gioco.energia=20;
        if (gioco.forza>0)
            gioco.forza--;
        messaggio="\nSei stanchissimo: ti senti molto debole.";
		
	//INTERFACCIA MOCK		
        document.forms[0].Messaggio.value=messaggio;        
	//FINE INTERFACCIA MOCK		
		refresh(messaggio);
		return messaggio;
    }
}

function aggiornaTempo(shift){
    // controllo qui anche se si � arrivati agli sgoccioli con le energie
	var messaggio="";
    messaggio = sgoccioliEnergia();
	//alert(""+gioco.oraGiorno+" "+shift);
	if ((gioco.oraGiorno+shift)>=24)
		gioco.giornoSettimana=(gioco.giornoSettimana+1)%7;
	gioco.oraGiorno=(gioco.oraGiorno+shift)%24;
	switch (gioco.giornoSettimana){
		case 0: gioco.giornoSettimanaString="Lunedi"; break;
		case 1: gioco.giornoSettimanaString="Martedi";break;
		case 2: gioco.giornoSettimanaString="Mercoledi";break;
		case 3: gioco.giornoSettimanaString="Giovedi";break;
		case 4: gioco.giornoSettimanaString="Venerdi";break;
		case 5: gioco.giornoSettimanaString="Sabato";break;
		case 6: gioco.giornoSettimanaString="Domenica";break;
	}
	gioco.oreRimaste-=shift;
	if (gioco.oreRimaste<=120 && gioco.giornoSettimanaString.search("Domenica")==-1){
		gioco.giornoSettimanaString+=" Santo";
		if (gioco.oraGiorno==20) audio("tamburo");
	}
	if (gioco.oreRimaste<=120 && gioco.giornoSettimanaString.search("Domenica")!=-1){
		if (gioco.oraGiorno==20) audio("tromba");
	}
	//alert("tempo aggiornato");
	aggiornaQualita();
	if (shift<24) //forse devo tener conto che non vale nel caso in cui si provenga già da un imprevisto
		imprevisti(shift);		
	if (messaggio)
		return messaggio;
	else
		return "";
}

function inFasciaOraria(inizio, fine, durata, giorni){
	var oraVirtuale=gioco.oraGiorno;
	if (oraVirtuale<K.oraInizioGiornata)
		oraVirtuale+=24;	
	if (!(oraVirtuale>=inizio && oraVirtuale<=fine-durata))
		return false;	
	else if (giorni==K.FERIALI && gioco.giornoSettimanaString.search("Domenica")!=-1 )
		return false;
	else if (giorni==K.FESTIVI && gioco.giornoSettimanaString.search("Domenica")==-1)
		return false;
	else if (giorni==K.ULTIMI && gioco.oreRimaste>=120)
		return false;
	else
		return true;
		
}

var giudizio= {
	livello:-1,
	punteggio:0,
	grandezza:0,leggerezza:0,robustezza:0,bellezza:0,teologia:0,
	nomeMistero:""	
};

var K = {
	grandezzaLivello:[30,60,90,120],
	punteggioLivello:[100,200,300,400],
	amiciLivello:[6,12,18,24],
	robustezzaLivello:[1,2,3,4],
	bellezzaLivello:[1,2,3,4],
	bonusAmici:20,bonusRobustezza:20,bonusBellezza:10,
	bonusArca:20,bonusCenaIncrespata:15,bonusPesca:20,bonusCena:25,bonusGiona:20,bonusGiuda:10,bonusSamaritana:10,bonusBuonPastore:20,bonusPacchiano:0,bonusAstratto:5,

	periodoImprevisti:100, //ore medie per imprevisto
	importoMulta:40, giorniFebbre:1, energiaFebbre:30, dannoRottura:15, regalo:30, promozioneMateriale: 20, idea: 10,
	tempoLavoroImprovviso:6, costoBraciata:5, tempoBraciata: 6,
	quotaMistero:5, 
	oreTotali:576, 	oreGiornata:12, oraFineGiornata:20, oraInizioGiornata:8, oraNotteFonda:26,
	costoPalestra:20, faticaPalestra:20,	tempoPalestra:6,	oraAperturaPalestra:8, oraChiusuraPalestra: 20,
	oraAperturaComune:8, oraChiusuraComune:15,	tempoComune:6,	faticaComune:5,
	faticaOrariaPortone:2,
	faticaOrariaTendone:2,
	faticaOrariaNottata:3,
	tempoRicercaPortone:6,	faticaRicercaPortone: 3,
	faticaFerramenta:2, tempoFerramenta:6, costoFerramenta:50,
	faticaFioraio:2, tempoFioraio:6, costoFioraio:20,
	faticaPesce:2, tempoPesce:6, costoPesce:60,
	faticaPesca:2, tempoPesca:6, probPesca:3,
	faticaAlimentari:3, tempoAlimentari:6, costoAlimentari:40,
	costoPittore:40, tempoPittore:6, faticaPittore:2, 
	costoScultore: 50,tempoScultore:6,faticaScultore:2,
    pagaOrariaLavoro:5, faticaOrariaLavoro:2,
    faticaVivara:5, oraBuioVivara:20, tempoVivara:6,
    risarcimentoOrto:100, faticaOrto:5, tempoOrto:6, 
    maxAmiciBar:3, faticaBar:5, costoAmicoBar:5, costoComplessivoBar: 5, tempoBar:6,
    faticaAbbazia:2, oraChiusuraAbbazia:14, tempoAbbazia:6, costoAbbazia:10,  
    faticaMostra:2, tempoMostra:6, 
    faticaProfessore:2, tempoProfessore:6, costoProfessore:30,
    faticaCongrega:1, tempoCongrega:6,  	 
	amiciOttimali:15,
	efficaciaTendone:0.75,
	recuperoOrarioEnergia:1,
	FESTIVI:0, TUTTI:1, ULTIMI:2, FERIALI:3
};


var gioco = {
		//variabili di stato con valori iniziali
	    forza: 1,
	    energia: 100,
	    soldi: 5,
	    amici: 0,
	    fascino: 1,
	    grandezza: 0,
	    ingegneria: 0,
	    statue: 0,
	    dipinti: 0,
	    teologia:0,
	    giornoSettimana:1,
	    giornoSettimanaString:"Lunedi",
	    oraGiorno:8,
	    oreRimaste:576,
	    numero:0,
	    tendone:0,
	    portone:0,
	    cibo:0,
	    pesci:0,
	    animali:0,
	    piante:0,
	    materiale:0,
	    permessoVivara:0,
	    numero:0,
        leggerezza:0,
        bellezza:0,
        robustezza:0,
        ricchezza:0,
	    rimandato:false,
	    audio:true,
	    mi:"",
		esitoAzione:"",
	    
	    //comportamento
	    palestra: function () {
	    	var messaggio="Dopo le 15. Dura 4 ore. Vado in palestra: acquisto forza (minimo uno massimo 2). trovo anche al pi� 10 amici. Spendo 20 soldi";
	        if (gioco.soldi>=K.costoPalestra && gioco.energia>=K.faticaPalestra && inFasciaOraria(K.oraAperturaPalestra,K.oraChiusuraPalestra,K.tempoPalestra,K.TUTTI) ){
		    	log("\npalestra");
		        gioco.forza++;
		        amiciTrovati=rng(2);
		        gioco.amici+=amiciTrovati;
		        gioco.soldi+=K.quotaMistero*amiciTrovati;
		        gioco.soldi-=K.costoPalestra;
		        gioco.energia-=K.faticaPalestra;	            
				gioco.esitoAzione="Dopo una seduta di palestra ti senti piu' forte e hai trovato anche "+amiciTrovati+" amici che ti aiuteranno a portare il Mistero. Ma che fatica!";
				var st=aggiornaTempo(K.tempoPalestra);
				gioco.esitoAzione+=st;
		     } else messaggio="Non possibile - "+messaggio;	        
	        refresh(messaggio);return;
	    },
	    comune: function(){
	    	var messaggio="Solo tra le 8 e le 15. Dura 4 ore. Ottieni il permesso per il tendone. Forse ottieni anche il permesso per Vivara";
	    	if (gioco.forza>0 && gioco.energia>=K.faticaComune && inFasciaOraria(K.oraAperturaComune,K.oraChiusuraComune,K.tempoComune,K.FERIALI)){
	    	log("\ncomune");
		    	if (gioco.tendone==0 && gioco.portone!=1){
                    gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione="Al Comune hai ottenuto il permesso per utilizzare un tendone sulla Terra Murata e hai trovato anche un amico che ti aiuterà al costruire il Mistero!";
					audio("timbro");
                }
                else 
                	gioco.esitoAzione="";
                if (gioco.portone!=1)
                	gioco.tendone=1;
		    	if(rng(2)>1){
		    		gioco.permessoVivara=1;		    		
					gioco.esitoAzione+="<p>E sei stato anche fortunato: oggi era possibile richiedere un permesso per visitare Vivara: puoi utilizzarlo quando vuoi, ma per una sola volta!";
					audio("timbro");
				} 
				else
					gioco.esitoAzione+="<p>Purtroppo le visite all'isolotto di Vivara sono state temporaneamente sospese, cosicchè non ti è stato rilasciato un permesso di visita!";
		    	gioco.energia-=K.faticaComune;
		    	var st=aggiornaTempo(K.tempoComune);
		    	gioco.esitoAzione+=st;
		    } else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;
	    },
	    cercaPortone: function(){
	    	var messaggio="Dura 4 ore. se sei fortunato ottieni l'utilizzo del portone (pi� efficace del tendone)";
	    	audio("portone");
	        if (gioco.forza>0 && gioco.portone==0 && gioco.tendone!=1 && gioco.energia>=K.faticaRicercaPortone && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoRicercaPortone,K.TUTTI)){
	    	log("\nricerca portone");
		    	if(rng(3)>1){
		    		gioco.portone=1;
		    		amiciTrovati=1; gioco.amici+=amiciTrovati;  gioco.soldi+=K.quotaMistero*amiciTrovati;
					gioco.esitoAzione="Grazie alle tue doti di fascino e alla tua buona fama, hai convinto un procidano a ospitarti nel suo portone per la costruzione del Mistero!";
		    	} else {
					gioco.esitoAzione="Sfortunatamente non hai trovato ancora nessuno che sia disposto a ospitarti nel suo portone. Dovrai ritentare, se ci tieni!";
				}
		    	gioco.energia-=K.faticaRicercaPortone;
		    	var st=aggiornaTempo(K.tempoRicercaPortone);
		    	gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;
	    },
	    giornoAlPortone: function(){
	    	var messaggio="Completi fino al 15% del mistero (spendendo altrettanto (non si spende). Pochi amici ti aiutano, molti amici ti disturbano";
	        if (gioco.forza>0 && gioco.portone==1 && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.TUTTI) && gioco.energia>=K.faticaOrariaPortone && gioco.materiale>0){		    	
	    	log("\ngiorno di lavoro al portone");
		    		oreDisponibili=K.oraFineGiornata-gioco.oraGiorno;	    	
			    	x=1+rng(3); //contributo personale
			    	if (gioco.amici<K.amiciOttimali) 
			    		x=x+gioco.amici;
			    	else 
			    		x=x+K.amiciOttimali+(gioco.amici-K.amiciOttimali)/2;
			    	x=Math.round(x);
//			    	if (gioco.soldi<x)
//			    		x=gioco.soldi;
			    	if (gioco.materiale<x)
			    		x=gioco.materiale;
			    	if (gioco.energia<oreDisponibili*K.faticaOrariaPortone)
			    		oreDisponibili=Math.floor(gioco.energia/K.faticaOrariaPortone);
			    	oreLavorate=oreDisponibili;
			    	x=Math.floor(x*oreLavorate/K.oreGiornata);			    		 
			    	gioco.grandezza+=x;
//			    	gioco.soldi-=x;
			    	gioco.materiale-=x;
			    	gioco.energia-=oreLavorate*K.faticaOrariaPortone;			    	
					gioco.esitoAzione="Una proficua giornata di lavoro al Mistero!";
					audio("mistero");
					var st=aggiornaTempo(oreLavorate);;
					gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;    	
	    },
	    
	    giornoAlTendone: function(){
		var messaggio="completi fino al 15% del mistero (non si spende). Rispetto al portone si spende meno ma si completa di meno e si usa meno materiale. Pochi amici ti aiutano, molti amici ti disturbano";
	        if (gioco.forza>0 && gioco.tendone==1 && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.TUTTI) && gioco.energia>=K.faticaOrariaTendone && gioco.materiale>0){		    	
	    	log("\ngiorno di lavoro al tendone");
		    		oreDisponibili=K.oraFineGiornata-gioco.oraGiorno;	    	
			    	x=1+rng(3); //conttributo personale
			    	if (gioco.amici<K.amiciOttimali) 
			    		x=x+gioco.amici;
			    	else 
			    		x=x+7+(gioco.amici-K.amiciOttimali)/2;
			    	x=Math.round(x*K.efficaciaTendone);
//			    	if (gioco.soldi<x*K.efficaciaTendone)
//			    		x=Math.floor(gioco.soldi/K.efficaciaTendone);
			    	if (gioco.materiale<x*K.efficaciaTendone)
			    		x=Math.floor(gioco.materiale/K.efficaciaTendone);
			    	if (gioco.energia<oreDisponibili*K.faticaOrariaPortone)
			    		oreDisponibili=Math.floor(gioco.energia/K.faticaOrariaPortone);
			    	oreLavorate=oreDisponibili;
			    	x=Math.floor(x*oreLavorate/K.oreGiornata);			    		 
			    	gioco.grandezza+=x;
//			    	gioco.soldi-=Math.round(x*K.efficaciaTendone);
			    	gioco.materiale-=Math.round(x*K.efficaciaTendone);
			    	gioco.energia-=oreLavorate*K.faticaOrariaTendone;
			    	gioco.esitoAzione="Una proficua giornata di lavoro al Mistero!";
					audio("mistero");			    	
					var st=aggiornaTempo(oreLavorate);;
					gioco.esitoAzione+=st;
										
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;    	
	    },
	    ferramenta:function(){
	    	var messaggio="in cambio di 50 soldi ottengo 50+-20% materiale. Aperto tra le 8 e le 20";
	        if (gioco.forza>0 && gioco.soldi>=0 && gioco.energia>=K.faticaFerramenta && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoFerramenta,K.FERIALI)){	    	
	    	log("\nferramenta");
		    	x=K.costoFerramenta;
		    	if (gioco.soldi<x)
		    		x=gioco.soldi;
		    	gioco.materiale+=Math.round(x*((80+rng(40))/100));
		    	gioco.soldi-=x;
				gioco.esitoAzione="Nel negozio di ferramenta ti sei rifornito di murali, colla, chiodi e altro materiale che ti sarà utile nella costruzione del Mistero!";
				audio("monete");
		        if (rng(4)==1) {
		            gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione+="<p>E hai incontrato anche un vecchio amico che ti darà il suo aiuto al Mistero!";
		        }		    	
		    	gioco.energia-=K.faticaFerramenta;
		    	var st=aggiornaTempo(K.tempoFerramenta);
		    	gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
		    refresh(messaggio);return;	    		    	
	    },
	    fioraio:function(){
	    	var messaggio="in cambio di 30 soldi ottengo piante";
	        if (gioco.forza>0 && gioco.soldi>=K.costoFioraio && gioco.energia>=K.faticaFioraio && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoFioraio,K.FERIALI)){	    		    	
	    	log("\nfioraio");
	    		gioco.soldi-=K.costoFioraio;
	    		//gioco.animali=1;
	    		gioco.piante++;
	    		gioco.energia-=K.faticaFioraio;
				gioco.esitoAzione="Dal fioraio hai comprato alcune piante.";
				audio("monete");
				audio("fiori");
		        if (rng(4)==1) {
		            gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione+="<p>E hai incontrato anche un vecchio amico che ti darà il suo aiuto al Mistero!";
		        }	    		
		    	var st=aggiornaTempo(K.tempoFioraio);
		    	gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		    	
	    },
	    lavoro:function(){
	    	var messaggio="lavoro in cambio di soldi (tra 50 e 100)";
	        if (gioco.forza>0 && gioco.energia>=K.faticaOrariaLavoro && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.FERIALI)){
	    	log("\nlavoro");
	        	oreLavorate=20-gioco.oraGiorno;
	        	if (gioco.energia<oreLavorate*K.faticaOrariaLavoro)
	        		oreLavorate=Math.floor(gioco.energia/oreLavorate);
	        	x=Math.round(K.pagaOrariaLavoro*oreLavorate*((80+rng(40))/100));	    	
		    	gioco.soldi+=x;
		    	gioco.energia-=oreLavorate*K.faticaOrariaLavoro;
				gioco.esitoAzione="Con "+oreLavorate+" ore di duro lavoro hai guadagnato "+x+" monete, ma che fatica!";
				audio("lavoro");
				//audio("monete");
                if (rng(4)==1) {
                    gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione+="<p>Per fortuna hai incontrato anche un vecchio amico che ti darà il suo aiuto al Mistero!";
                }   	    	
		    	var st=aggiornaTempo(oreLavorate);
		    	if (st)
		    		gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;		    	
	    	refresh(messaggio);return; 	    	
	    },	    
	    porto:function(){
	    	var messaggio="Pesce in cambio di soldi, ma solo negli ultimi giorni";
	        if (gioco.forza>0 && gioco.soldi>=K.costoPesce && gioco.energia>=K.faticaPesce && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.ULTIMI)){	    		    	
	    	log("\nporto");
	    		gioco.soldi-=K.costoPesce;
	    		gioco.pesci=1;
	    		gioco.energia-=K.faticaPesce;
				gioco.esitoAzione="In pescheria hai comprato pesci, crostacei e molluschi in quantità!";
				audio("monete");				
                if (rng(4)==1) {
                    gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione+="<p>E hai incontrato anche un vecchio amico che ti darà il suo aiuto al Mistero!";					
                }   
                var st=aggiornaTempo(K.tempoPesce);
                gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		    	
	    },	    
    pesca:function(){
            var messaggio="Se sei fortunato trovi pesce, ma solo negli ultimi giorni";
            if (gioco.forza>0 && gioco.energia>=K.faticaPesca && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesca,K.ULTIMI)){                     
            log("\npesca");
            audio("pesca");
                if (rng(K.probPesca)==1){
                    gioco.pesci=1;
					gioco.esitoAzione+="Sei un ottimo pescatore: con il pescato di oggi potrai rendere più ricco il Mistero!";
					} 
				else {
				gioco.esitoAzione="Non e' facile improvvisarsi pescatore: hai pescato solo scarpe e scarponi!";
				}
                gioco.energia-=K.faticaPesca;
				
                if (rng(4)==1) {
                    gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione+="<p>Fortunatamente hai incontrato anche un vecchio amico che ti darà il suo aiuto al Mistero!";
                }   
                var st=aggiornaTempo(K.tempoPesca);
                gioco.esitoAzione+=st;
            } else messaggio="Non possibile - "+messaggio;
            refresh(messaggio);return;                      
        },      
	 alimentari:function(){
	    	var messaggio="Alimentari da mettere sul mistero, ma solo negli ultimi giorni";
	        if (gioco.forza>0 && gioco.soldi>=K.costoAlimentari && gioco.energia>=K.faticaAlimentari && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPesce,K.ULTIMI)){	    		    	
	    	log("\nalimentari");
	    		gioco.soldi-=K.costoAlimentari;
	    		gioco.cibo++;
	    		gioco.energia-=K.faticaAlimentari;
				gioco.esitoAzione="Hai comprato carne, frutta e ortaggi che faranno un figurone sul Mistero!";
				audio("monete");				
                if (rng(4)==1) {
                    gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione+="<p>E hai incontrato anche un vecchio amico che ti darà il suo aiuto al Mistero!";
                }   
                var st=aggiornaTempo(K.tempoAlimentari);
                gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		    	
	    },	    	    	    	   
	    vivara:function(){
	    	var messaggio="Fino alle 14. se sei fortunato trovi animali ma sicuramente trovi piante";
	        if (gioco.forza>0 && gioco.permessoVivara==1 && inFasciaOraria(K.oraInizioGiornata,K.oraBuioVivara,K.tempoVivara,K.TUTTI) && gioco.energia>=K.faticaVivara ){
	    	log("\nvivara");
		    	gioco.piante++;
				gioco.esitoAzione="Sull'isolotto di Vivara hai colto un pò di fiori e piante selvatiche che potrai mostrare sul Mistero!";
				audio("piante");
		    	if (rng(3)>1){
		    		gioco.animali++;
					gioco.esitoAzione+="<p>E hai catturato anche alcuni conigli: trattali bene e non dimenticare di liberarli di nuovo dopo la Processione!";
					audio("animali");
				}
				gioco.permessoVivara=0;
		    	gioco.energia-=K.faticaVivara;
		    	var st=aggiornaTempo(K.tempoVivara);
		    	gioco.esitoAzione+=st;
		    } else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    			    	
	    },	    
	    orto:function(){
	    	var messaggio="se sei fortunato rubi animali e piante, ma solo di notte, altrimenti li paghi 50 (se non hai soldi non li prendi e perdi i soldi)";
		    if (gioco.forza>0 && inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,K.tempoOrto,K.TUTTI) && gioco.energia>=K.faticaOrto ){
	    	log("\norto");
	    	var caso=rng(6);
		    	if (caso>5){
		    		gioco.animali++;
		    		gioco.cibo++;
					gioco.esitoAzione="Camminando nottetempo tra gli orti hai 'trovato' frutta, ortaggi e degli animali che potrai mostrare sul Mistero: per ora va bene ma ricordati di ringraziare i tuoi inconsapevoli benefattori, dopo la Processione!";
		    	} else if (caso>4){
		    		gioco.animali++;
					gioco.esitoAzione="Camminando nottetempo tra gli orti hai 'trovato' degli animali che potrai mostrare sul Mistero: per ora va bene ma ricordati di ringraziare i tuoi inconsapevoli benefattori, dopo la Processione!";
		    	} else if (caso>3){
		    		gioco.cibo++;
					gioco.esitoAzione="Camminando nottetempo tra gli orti hai 'trovato' frutta e ortaggi che potrai mostrare sul Mistero: per ora va bene ma ricordati di ringraziare i tuoi inconsapevoli benefattori, dopo la Processione!";
		    	} else if ((caso>2) && gioco.soldi>K.risarcimentoOrto){
						gioco.soldi-=K.risarcimentoOrto;
						gioco.animali++;
						gioco.cibo++;
						gioco.esitoAzione="Sei stato sorpreso mentre 'cercavi' nottetempo frutta, ortaggi e animali negli orti altrui: il proprietario te li lascerà tenere ma ha preteso che glieli pagassi a caro prezzo !";						
				} else if ((caso>1) && gioco.soldi>Math.floor(K.risarcimentoOrto/2)){
						gioco.soldi-=Math.floor(K.risarcimentoOrto/2);
						gioco.cibo++;
						gioco.esitoAzione="Sei stato sorpreso mentre 'cercavi' nottetempo frutta e ortaggi negli orti altrui: il proprietario te li lascerà tenere ma ha preteso che glieli pagassi a caro prezzo !";						
				} else if ((caso>0) && gioco.soldi>Math.floor(K.risarcimentoOrto/2)){
						gioco.soldi-=Math.floor(K.risarcimentoOrto/2);
						gioco.animali++;
						gioco.esitoAzione="Sei stato sorpreso mentre 'cercavi' nottetempo animali negli orti altrui: il proprietario te li lascerà tenere ma ha preteso che glieli pagassi a caro prezzo !";						
				} else {
						//gioco.soldi=0;				 	    		
						gioco.esitoAzione="Sei stato sorpreso mentre 'cercavi' nottetempo frutta, ortaggi e animali negli orti altrui: il proprietario era disposto a venderteli ma non hai abbastanza soldi!";						
					}
		    	
		    	gioco.energia-=K.faticaOrto;		    		    
	    		var st=aggiornaTempo(K.tempoOrto);
	    		gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    			    	
	    },
	    pittore:function(){
	    var messaggio="se hai 50 soldi, il pittore ti d� un dipinto";
	    if (gioco.forza>0 && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoPittore,K.TUTTI) && gioco.energia>=K.faticaPittore && gioco.soldi>=K.costoPittore){    
	    	log("\npittore");
		    	if (gioco.soldi>=K.costoPittore){
		    		gioco.soldi-=K.costoPittore;
		    		gioco.dipinti++;
					gioco.esitoAzione="Il pittore promette che per "+K.costoPittore+" monete riuscirà a dipingere un grande quadro per il Mistero!";
					audio("pittura");						
			        if (gioco.dipinti==1){
			            amiciTrovati=1; gioco.amici+=amiciTrovati;  gioco.soldi+=K.quotaMistero*amiciTrovati;
						gioco.esitoAzione+="<p>E ha promesso che parteciperà anche alla Processione portando il tuo Mistero!";
			        }
		    	}
		        gioco.energia-=K.faticaPittore;
		    	var st=aggiornaTempo(K.tempoPittore);
		    	gioco.esitoAzione+=st;
		    } else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		
	    },
	    scultore:function(){
	    var messaggio="se hai 50 soldi, lo scultore ti d� una statua";
	    if (gioco.forza>0 && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoScultore,K.TUTTI) && gioco.energia>=K.faticaScultore && gioco.soldi>=K.costoScultore){    	    
	    	log("\nscultore");
	    	if (gioco.soldi>=K.costoScultore){
	    		gioco.soldi-=K.costoScultore;
	    		gioco.statue++;
				gioco.esitoAzione=" Il tuo amico artista per "+K.costoScultore+" ti modellerà una statua bellissima!";
	    		if (gioco.statue==1){
				    amiciTrovati=1; gioco.amici+=amiciTrovati;  gioco.soldi+=K.quotaMistero*amiciTrovati;
					gioco.esitoAzione+="<p>E ha promesso che parteciperà anche alla Processione portando il tuo Mistero!";					
				    }
	    	}
	    	var st=aggiornaTempo(K.tempoScultore);
	    	gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		
	    },
    	nottata:function(){
	    var messaggio=" se hai abbastanza energia, lavori al mistero di notte";
        if (gioco.forza>0 && inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,1,K.TUTTI) && gioco.energia>=K.faticaOrariaNottata && gioco.portone+gioco.tendone>0 && gioco.materiale>0){		    	  			
	    	log("\nnottata al mistero");
	    		oreDisponibili=K.oraNotteFonda-gioco.oraGiorno;	    	
		    	x=1+rng(3); //conttributo personale
		    	if (gioco.amici<K.amiciOttimali) 
		    		x=x+gioco.amici;
		    	else 
		    		x=x+7+(gioco.amici-K.amiciOttimali)/2;
		    	x=Math.round(x);
//		    	if (gioco.soldi<x)
//		    		x=gioco.soldi;
		    	if (gioco.materiale<x)
		    		x=gioco.materiale;
		    	if (gioco.energia<oreDisponibili*K.faticaOrariaNottata)
		    		oreDisponibili=Math.floor(gioco.energia/K.faticaOrariaNottata);
		    	oreLavorate=oreDisponibili;
		    	x=Math.floor(x*oreLavorate/K.oreGiornata);			    		 
		    	gioco.grandezza+=x;
//		    	gioco.soldi-=x;
		    	gioco.materiale-=x;
		    	gioco.energia-=oreLavorate*K.faticaOrariaNottata;
		    	gioco.esitoAzione="Una faticosa ma proficua nottata passata sul Mistero!";
					audio("mistero");		    	
				var st=aggiornaTempo(oreLavorate);
				gioco.esitoAzione+=st;				
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		
	    },
	    giornoAlMistero:function(){
	    	if (gioco.portone==1)
	    		gioco.giornoAlPortone();
	    	else if (gioco.tendone==1)
	    		gioco.giornoAlTendone();
			return;	    	
	    },
	    bar:function(){
		    var messaggio="Solo di sera trovi fino a 3 amici ma spendi soldi e perdi tempo";
	        if (gioco.forza>0 && inFasciaOraria(K.oraFineGiornata,K.oraNotteFonda,K.tempoBar,K.TUTTI) && gioco.energia>=K.faticaBar ){		    	  					   
	    	log("\nbar");
			    var x=Math.round(rng(K.maxAmiciBar));
			    gioco.esitoAzione="Una serata al bar era necessaria, per distrarsi un po'";
			    audio("bottle");
			    if (gioco.soldi<K.costoComplessivoBar){
			    	x=0;
			    	gioco.esitoAzione+=". Purtroppo pero' non hai potuto offrire una bevuta ai tuoi amici perche' non avevi abbastanza monete!";
			    }
			    else
			    	gioco.soldi-=(K.costoComplessivoBar);
			    gioco.amici+=x;			    
			    gioco.soldi+=(K.quotaMistero*x);
			    gioco.energia-=K.faticaBar;
				
				if (x>0) {
					gioco.esitoAzione+=", ma è stata anche proficua, perche' hai trovato ";
					if (x==1) 
						gioco.esitoAzione+="un vecchio amico che ti aiutera' ";
					else
						gioco.esitoAzione+=(x+" vecchi amici che ti aiuteranno ");
					gioco.esitoAzione+="a costruire e portare il Mistero!";
				}
			    var st=aggiornaTempo(K.tempoBar);
			    gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		
	    },
	    abbazia:function(){
		    var messaggio="Solo di mattina trovi teologia ma spendi soldi e perdi tempo";
   	    	if (gioco.forza>0 && gioco.energia>=K.faticaAbbazia && gioco.soldi>=K.costoAbbazia && inFasciaOraria(K.oraInizioGiornata,K.oraChiusuraAbbazia,K.tempoAbbazia,K.TUTTI)){
	    	log("\nabbazia");
		    	gioco.teologia++;
		    	gioco.soldi-=K.costoAbbazia;
				gioco.esitoAzione="Frequentando l'abbazia ti sei chiarito parecchi dubbi sull'interpretazione religiosa del tuo Mistero: ora non rischierai di costruire qualcosa di troppo blasfemo!";
				audio("campane");
                if (gioco.teologia==1) {
                    gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione+="<p>E hai incontrato anche un vecchio amico che ha promesso che parteciperà anche alla Processione portando il tuo Mistero!";
                }   
                gioco.energia-=K.faticaAbbazia;
			    var st=aggiornaTempo(K.tempoAbbazia);
			    gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		
	    },
	    mostraDeiMisteri:function(){
		    var messaggio="Se sei fortunato trovi ingegneria ma perdi tempo";
   	    	if (gioco.forza>0 && gioco.energia>=K.faticaMostra && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoMostra,K.TUTTI)){
		    	log("\nmostra dei misteri");
			    if (rng(2)>1){
			    	gioco.ingegneria++;
					gioco.esitoAzione="Osservando i Misteri del passato hai capito come risolvere alcuni problemi tecnici del tuo Mistero!";
					audio("eureka");
					}
				else
					gioco.esitoAzione="L'osservazione dei Misteri del passato stavolta non ti ha aiutato a risolvere i problemi del tuo Mistero!";
			    gioco.energia-=K.faticaMostra;
                if (gioco.ingegneria==1) {
                    gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione+="<p>E hai incontrato anche un vecchio amico che ha promesso che parteciperà anche alla Processione portando il tuo Mistero!";
                }   
                var st=aggiornaTempo(K.tempoMostra);
                gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		
	    }, 
	    casaDelProfessore:function(){	    	
		    var messaggio="Trovi ingegneria ma perdi tempo e soldi";
			if (gioco.forza>0 && gioco.energia>=K.faticaProfessore && gioco.soldi>=K.costoProfessore && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoProfessore,K.TUTTI)){		    
	    	log("\ncasa del professore");
	    		gioco.ingegneria++;
	    		gioco.soldi-=K.costoProfessore;
				gioco.esitoAzione="Il vecchio costruttore di Misteri ti ha spiegato come risolvere alcuni problemi tecnici del tuo Mistero!";
				audio("solution");
                if (gioco.ingegneria==1) {
                    gioco.amici++;  gioco.soldi+=K.quotaMistero;
					gioco.esitoAzione+="<p>E ti ha anche promesso che ti aiuterà a portare il tuo Mistero!";
                }   
                gioco.energia-=K.faticaProfessore;
				var st=aggiornaTempo(K.tempoProfessore);
				gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		
	    },   
	    congrega:function(){
	    	var messaggio="Iscriviti alla processione e prendi il numero del mistero, ma solo nell'ultima settimana'";
			if (gioco.forza>0 && gioco.energia>=K.faticaCongrega && inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,K.tempoCongrega,K.ULTIMI)){		    	    	
				log("\ncongrega");
		    	gioco.numero=rng(50);
				gioco.esitoAzione="Hai registrato il tuo Mistero presso la Congrega dei Turchini: ti e' stato dato il numero "+gioco.numero+" !";
				audio("timbro");
				gioco.energia-=K.faticaCongrega;
				var st=aggiornaTempo(K.tempoCongrega);
				gioco.esitoAzione+=st;
	    	} else messaggio="Non possibile - "+messaggio;
	    	refresh(messaggio);return;	    		
	    },	 
	    riposo:function(){
	    	log("\nriposo");
	    	var messaggio="Consente di recuperare energie";
	    	var oreRiposo;
	    	if (inFasciaOraria(K.oraInizioGiornata,K.oraFineGiornata,1,K.TUTTI)){
	    		//giornata di riposo
	    		oreRiposo=K.oraFineGiornata-gioco.oraGiorno;
	    	}
	    	else if (inFasciaOraria(K.oraFineGiornata,24+K.oraInizioGiornata,1)){
	    		//serata/nottata di riposo
	    		if (gioco.oraGiorno<K.oraInizioGiornata)
	    			oreRiposo=K.oraInizioGiornata-gioco.oraGiorno;
	    		else
					oreRiposo=24+K.oraInizioGiornata-gioco.oraGiorno;	    			    	
	    	}
			gioco.esitoAzione="Un pò di riposo era necessario!";
	    	gioco.energia+=K.recuperoOrarioEnergia*oreRiposo;
	    	if (gioco.energia>100)
	    		gioco.energia=100;	    
			if (gioco.energia>90 && gioco.forza==0){
	    		gioco.forza=1;	    				
				gioco.esitoAzione+="<p>E ora ti senti anche piu' forte!";
			}				
	    	var st=aggiornaTempo(oreRiposo);
	    	gioco.esitoAzione+=st;
	    	audio("riposo");
	    	refresh(messaggio+""+oreRiposo);return;	    	    
	}
};

//funzione di interfaccia Android per passare ad Android risultato e giudizio
function salvaPartitaSuAndroid(){
// concateno gli attributi della classe gioco, in alternativa vedere JSON
     var partita = gioco.forza + "#" +
            gioco.energia + "#" +
            gioco.soldi + "#" +
            gioco.amici + "#" +
            gioco.fascino + "#" +
            gioco.grandezza + "#" +
            gioco.ingegneria + "#" +
            gioco.statue + "#" +
            gioco.dipinti + "#" +
            gioco.teologia + "#" +
            gioco.giornoSettimana + "#" +
            gioco.giornoSettimanaString + "#" +
            gioco.oraGiorno + "#" +
            gioco.oreRimaste + "#" +
            gioco.numero + "#" +
            gioco.tendone + "#" +
            gioco.portone + "#" +
            gioco.cibo + "#" +
            gioco.pesci + "#" +
            gioco.animali + "#" +
            gioco.piante + "#" +
            gioco.materiale + "#" +
            gioco.permessoVivara + "#" +
            gioco.numero + "#" +
			gioco.leggerezza + "#" +
			gioco.bellezza + "#" +
			gioco.robustezza + "#" +
			gioco.ricchezza + "#" +
            gioco.rimandato + "#" +
            gioco.audio + "#" +
            gioco.mi;
	Android.salvaPartita(partita);
}

//funzione di interfaccia Android che effettua il caricamento di una partita secondo la stringa parametro passato da android
function caricaPartitaDaAndroid(partita){
// implementare parsing parametro e caricamento partita
alert("partita:" + partita);
Android.caricaPartita(partita);//test
}

function audio(suono){
	if (gioco.audio){
		var audio = document.createElement("audio");
		if (audio != null && audio.canPlayType && audio.canPlayType("audio/mpeg"))
		{
	    	audio.src = "./media/"+suono+".mp3";
	    	audio.play();
		}
	}
}

function setAudio(){
	if (gioco.audio)
		gioco.audio=false;
	else	
		gioco.audio=true;
}

/*

// Un oggetto con funzioni per la casualit� con seme
var CustomRandom = function(nseed) {

    var seed,
        constant = Math.pow(2, 13)+1,
        prime = 37,
        maximum = Math.pow(2, 50);
 
    if (nseed) {
        seed = nseed;
    }
 
    if (seed == null) {
//if there is no seed, use timestamp
        seed = (new Date()).getTime();
    } 
 
    return {
        next : function(m) {
            seed *= constant;
            seed += prime;
            seed %= maximum;
            return Math.round(seed/10)%m;
        }
    }
}
*/

var rng = function(max){
	return Math.floor((Math.random()*max)+1);
};

function driver(gr,am,ing,st,dip,teo,ci,an,pia,pesc,num){
	gioco.grandezza=gr;
	gioco.amici=am;
	gioco.ingegneria=ing;
	gioco.statue=st;
	gioco.dipinti=dip;
	gioco.teologia=teo;
	gioco.cibo=ci;
	gioco.animali=an;
	gioco.piante=pia;
	gioco.pesci=pesc;
	gioco.numero=num;
	var giud=valutaObiettivo();
	if (self.location.href.slice(0,4)=="file")
		alert("Grandezza : "+gr+" Amici: "+am+" Ingegneria: "+ing+" Statue: "+st+" Dipinti: "+dip+" Teologia: "+teo+" Cibo: "+ci+" Animali: "+an+" Piante: "+pia+" Pesci: "+pesc+" Numero: "+num+"\n\nLivello: "+giudizio.livello+" Punteggio: "+giudizio.punteggio+" Mistero: "+giudizio.nomeMistero);
} 

function tuttiTest(){
	if (self.location.href.slice(0,4)=="file") alert("test livelli");testLivelli();
	if (self.location.href.slice(0,4)=="file") alert("test amici");testAmici();
	if (self.location.href.slice(0,4)=="file") alert("test ingegneria");testIngegneria();
	if (self.location.href.slice(0,4)=="file") alert("test combo");testCombo();
	if (self.location.href.slice(0,4)=="file") alert("test bellezza");testBellezza();
	if (self.location.href.slice(0,4)=="file") alert("test blasfemo");testBlasfemo();
}

function testLivelli(){
	driver(25,15,3,2,2,1,1,1,1,0,42);
	driver(40,15,3,2,2,1,1,1,1,0,42);
	driver(65,15,3,2,2,1,1,1,1,0,42);
	driver(95,15,3,2,2,1,1,1,1,0,42);
	driver(130,15,3,2,2,1,1,1,1,0,42);
}

function testAmici(){
	driver(65,5,3,2,2,1,1,1,1,0,42);
	driver(65,10,3,2,2,1,1,1,1,0,42);
	driver(65,15,3,2,2,1,1,1,1,0,42);
	driver(65,20,3,2,2,1,1,1,1,0,42);
	driver(65,25,3,2,2,1,1,1,1,0,42);
	driver(65,30,3,2,2,1,1,1,1,0,42);
	driver(65,35,3,2,2,1,1,1,1,0,42);
}
	
function testIngegneria(){
	driver(65,15,0,2,2,1,1,1,1,0,42);
	driver(65,15,1,2,2,1,1,1,1,0,42);
	driver(65,15,2,2,2,1,1,1,1,0,42);
	driver(65,15,3,2,2,1,1,1,1,0,42);
	driver(65,15,4,2,2,1,1,1,1,0,42);
	driver(65,15,5,2,2,1,1,1,1,0,42);					
}

function testBellezza(){
	driver(65,15,1,0,0,1,1,1,1,0,42);
	driver(65,15,1,1,0,1,1,1,1,0,42);
	driver(65,15,1,1,1,1,1,1,1,0,42);
	driver(65,15,1,1,2,1,2,1,1,0,42);		
	driver(65,15,1,2,2,1,2,1,1,0,42);
	driver(65,15,1,3,3,1,2,1,1,0,42);
	driver(65,15,1,4,4,1,2,1,1,0,42);			
}

function testBlasfemo(){
	driver(65,15,1,1,2,0,2,1,1,0,42);		
	driver(65,15,1,1,2,1,2,1,1,0,0);
}

function testCombo(){
	driver(65,20,3,2,2,1,1,0,0,0,42);
	driver(65,20,3,2,2,1,1,0,0,1,42);
	driver(65,20,3,2,2,1,1,0,1,1,42);
	driver(65,20,3,2,2,1,0,1,1,1,42);
	driver(65,20,3,2,2,1,0,1,0,0,42);
	driver(65,20,3,2,2,1,1,0,0,0,42);
	driver(65,20,3,2,2,1,0,0,0,1,42);
	driver(65,20,3,1,2,1,0,0,0,1,42);
	driver(65,20,3,0,2,1,0,0,0,1,42);
	driver(65,20,3,2,2,1,0,0,1,0,42);
	driver(65,20,3,1,2,1,0,0,1,0,42);
	driver(65,20,3,0,2,1,0,0,1,0,42);
	driver(65,20,3,2,2,1,0,1,1,0,42);
	driver(65,20,3,1,2,1,0,1,1,0,42);
	driver(65,20,3,0,2,1,0,1,1,0,42);
	driver(65,20,3,2,2,1,1,1,1,1,42);
}
